fix: clear reverseRpcDisposers array after disposing handlers - #5
Closed
hobostay wants to merge 1 commit into
Closed
fix: clear reverseRpcDisposers array after disposing handlers#5hobostay wants to merge 1 commit into
hobostay wants to merge 1 commit into
Conversation
clearReverseRpcPanels disposed all handlers but did not clear the array. On session switches via unloadCurrentSession, the old already-disposed entries remained, causing double-dispose on the next call. This matches the cleanup pattern already used in stop(). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Collaborator
|
Thank you for your interest in contributing to kimi-code. |
chengluyu
added a commit
to chengluyu/kimi-code
that referenced
this pull request
Jun 1, 2026
zha-ji-tui
added a commit
to zha-ji-tui/kimi-code
that referenced
this pull request
Jun 1, 2026
- Gate the readdir fallback on `gitCache.isGitRepo()` instead of `snapshot === null`, so a transient `git ls-files` failure inside a real git repo does not expose `.gitignore`d files. The previous gate conflated "not a git repo" with "git ls-files failed transiently". - Break out of the per-entry `walkDir` loop once `READDIR_MAX_ENTRIES` is reached, so a single large directory does not `statSync` every remaining file after the cap is filled. The cap was previously only checked on entry to `walkDir`. - Handle the snapshot-null case after the `isGitRepo()` gate to avoid NPE when `getSnapshot()` returns null transiently inside a real git repo. - Add a transient-failure test (isGitRepo=true, getSnapshot=null) and extend `stubGitCache` to decouple `isGitRepo` from snapshot presence. Refs PR MoonshotAI#268 codex review (P2 MoonshotAI#5, MoonshotAI#6).
sailist
added a commit
that referenced
this pull request
Jun 5, 2026
…imentalDecorators (P2.1) Smoke test for Phase 2 @ifoo migration: switch `services.set(IConnectionRegistry, new ConnectionRegistry())` to `services.set(IConnectionRegistry, new SyncDescriptor(ConnectionRegistry))` so the container drives construction through `_createAndCacheServiceInstance` and the @ifoo auto-injection path. ConnectionRegistry has 0 service deps so the auto-inject step is a no-op — this is the minimum viable proof that the new path replaces ad-hoc `new C()` registrations cleanly. Logger stays as an externally-built `PinoLogger` instance (its ctor takes the pino DaemonLogger, not a DI dependency). Also enable `experimentalDecorators: true` in `packages/{daemon,services}/tsconfig.json` — required prerequisite for `@IFoo`-style parameter decorators landing in P2.2 onwards. The root tsconfig stays untouched; only the two packages migrating to @ifoo opt in. esbuild (vitest transpiler) and tsdown (rolldown bundler) both honor this flag for legacy parameter-decorator emit. Per phase-1 reviewer handoff #1: this is the smoke test confirming a single descriptor-based registration migrates cleanly before fan-out. agent-core/src/di/ untouched (sealed for Phase 2). Daemon test green (241 pass after one flake-rerun on fs-watch.e2e.test.ts AC #2 burst window — known flake per phase-1 reviewer handoff #5). VERDICT: PASS — start.ts:296 descriptor swap + tsconfig experimentalDecorators=true; 241/241 daemon tests green.
执行计划需求确认
影响范围
实施计划
验证计划
风险
|
执行结果实际修改
验证结果
环境说明
未完成风险 / 需补充
|
调查阶段方案标记:Workmonitor issue-flow investigation stage 20260618-133001 issue #5 需求确认
代码定位与影响范围
具体实施方案
验证方案
风险与注意事项
|
执行阶段结果补充标记:Workmonitor issue-flow execute stage 20260618-133001 issue #5 实际修改内容
验证结果
未完成风险
|
e2e 阶段补充结果标记:Workmonitor issue-flow e2e stage 20260618-133001 issue #5 已执行命令与结果
e2e 覆盖状态
仍有风险与替代验证建议
|
最终总结标记:Workmonitor issue-flow final stage 20260618-133001 issue #5 覆盖确认
最后修改方案与行为变化
验证结果汇总
e2e test 状态
残余风险与关闭状态
|
|
Workmonitor issue-flow final stage 20260618-133001 issue #5 final_summary 阶段补充已完成内容确认
关键文件与行为变化
验证与 e2e 状态
残余风险与关闭状态
|
wintrover
added a commit
to wintrover/kimy
that referenced
this pull request
Jun 29, 2026
- kimy wrapper: move hash writes after smoke test (MoonshotAI#1) - kimy wrapper: add public/ to web hash inputs (MoonshotAI#3) - kimy wrapper: widen vis hash to include config files (MoonshotAI#4) - kimy wrapper: move lockfile from /tmp to ~/.kimy/bin (MoonshotAI#5) - kimy wrapper: use explicit package list for native hash (MoonshotAI#7) - 01-bundle.mjs: skip vis-asset build when already done (MoonshotAI#2) - justfile: sync deploy with new wrapper, add deploy-full (MoonshotAI#9,MoonshotAI#10,MoonshotAI#11) - flake.nix: add unpin guidance to nixpkgs comment (MoonshotAI#12)
asdshuaishuai
pushed a commit
to d2rabbit/kimi-code
that referenced
this pull request
Jul 21, 2026
MarkdownRenderer.svelte now picks the rendering surface based on the
content type of each fenced code block:
· JSON blocks (cb-json): a collapsible tree is rendered alongside the
raw code. Objects/arrays carry a ▾ caret that folds their children;
strings green, numbers amber, booleans accent, null grey-italic.
Trees deeper than 5K characters fall back to plain code (tree DOM
would be sluggish past that). The raw <pre> stays visible so the
user can still copy or read the original.
· HTML blocks (cb-html): the code header bar gains a 👁 预览 button.
Clicking injects a sandboxed <iframe srcdoc=...> below the code so
the user can see what the snippet renders as, without running any
scripts (sandbox='allow-same-origin' only — no allow-scripts).
· Code headers (all langs): language label + copy button stay as
before; HTML blocks additionally get the preview toggle.
· Streaming still skips shiki and the JSON tree (latency-sensitive);
both kick in once streaming=false.
ToolCard.svelte is rebuilt around a few ergonomic asks:
· Status badge — color-coded pill (运行中 / 完成 / 失败) next to the
tool name, in addition to the existing dot. Easier to scan at a
glance than color alone.
· Copy buttons — the expand area now has a small toolbar with
'复制命令' (bash only) and '复制输出'. Both toast on success.
· JSON output — when a tool's output parses as JSON, we render a
<details> with pretty-printed JSON instead of the raw line view.
Catches a lot of MCP / structured-tool responses.
· Auto-expand running tools — when a tool transitions from
idle/completed back to running, expanded flips to true so the user
sees what's happening without a manual click.
· All existing affordances kept: diff chip stats (+N/−M), click-to-
preview file paths, bash terminal styling, line-numbered diff
view for edit tools.
svelte-check 0 errors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
clearReverseRpcPanelsdisposed all handlers but did not clear the arrayunloadCurrentSession, the old already-disposed entries remained, causing double-dispose on the next callthis.reverseRpcDisposers.length = 0after the loop, matching the cleanup pattern already used in thestop()methodTest plan
🤖 Generated with Claude Code